#pragma once
#include "../include/std.h"

int STRAPI_DataSize(IN U64 u64Size, OUT char *pszResult);
/*将u64Size转换为表示数据大小的字符串，如“3.1MB”。
pszResult指向长度大于10字节的缓冲区，用于存放结果。
返回值：成功返回数字的长度，如“3.1MB”则返回3，失败返回0。
为兼容旧版VC6编译器，目前版本最大支持2^63。20181207
*/

//int STRAPI_StringToArray(const char *pszIn, int *piOut, int *piCount, const char *pcMode = ".d");
//int STRAPI_StringToArray(const char *pszIn, STD_ARRAY<int> &objOut, const char *pcMode = ".d");
int STRAPI_StringToArray(const char *pszIn, STD_ARRAY<U32> &objOut, const char *pcMode = ".d");
/*多段数字转换为数组
pszIn   输入字符串
piOut   输出数组
piCount I/O 输入piOut最大长度，输出实际长度
objOut  输出数组
pcMode  模式。第一个字符是分隔符，第二个表示进制，d表示十进制，h表示十六进制小写，H表示十六进制大写。
说明：默认点分十进制
目前(20250611)只支持十进制
*/

//int STRAPI_ArrayToString(const int *piData, int iCount, OUT string &strOut, const char *pcMode = ".d");
//int STRAPI_ArrayToString(const STD_ARRAY<int> &objIn, OUT string &strOut, const char *pcMode = ".d");
int STRAPI_ArrayToString(const STD_ARRAY<U32> &objIn, OUT string &strOut, const char *pcMode = ".d");
/*数组转换为多段数字
objIn   输入数组
piData  输入数组
iCount  输入数组长度
strOut  输出字符串
pcMode  模式。第一个字符是分隔符，第二个表示进制，d表示十进制，h表示十六进制小写，H表示十六进制大写。
说明：默认点分十进制
目前(20250611)只支持十进制
*/